/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tetris_invader.itens;

import java.awt.Graphics2D;
import java.awt.Point;
import tetris_invader.util.Fase;

/**
 * Also know as Bombs to destruct the invaders!
 */
public class Peças extends Item {

    protected int velocidade;
    //DUVIDA posso declarar assim? Sendo que so é usado na inner?
    private static double k = 8.988 * 10e9;/*unidade: N m²/C²_*/ //DUVIDA pode declarar assim?

    private static double delta;//TODO limite minimo para a atracao

    public Peças() {
    }

    public Peças(Fase fase) {
        this.fase = fase;
        this.posicao = new Point(100, 100);
    }

    /**
     *
     * @return
     */
    public int getVelocidade() {
        return this.velocidade;
    }

    public void setVelocidade(int velocidade) {
        this.velocidade = velocidade;
    }

    public void plusVelocidade(int add) {
        this.velocidade += add;
    }

    public void minusVelocidade(int sub) {
        this.velocidade -= sub;
    }

    public void movimenta() {//TODO ele nao se movimenta apenas na vertical
        posicao.y += velocidade;
    }

    @Override
    public void desenha(Graphics2D g2) {
    }

    public void deslocamento() {
    }

    @Override
    public boolean colisao(Object o) {
        return false;
    }

    /*CLASSE INTERNA!!*/
    public class Magnetismo {

        private double força;
        private double aceleracao;

        public double getForca() {
            return força;
        }

        public void calculaForça(double r) {
            this.força = k / Math.pow(r, 2);//TODO definir o valor da carga de cada peça
        }

        public int atracao() {
            return 0;//TODO modificar a atracao magnetica
        }

        //TODO acertar a aceleracao ou colocar na atracao
        public void plusAceleracao() {
            aceleracao = força;
        }
    }
}
